Mining Design Patterns from C++ Source Code
نویسندگان
چکیده
Design patterns are micro architectures that have proved to be reliable, easy-to implement and robust. There is a need in science and industry for recognizing these patterns. We present a new method for discovering design patterns in the source code. This method provides a precise specification of how the patterns work by describing basic structural information like inheritance, composition, aggregation and association, and as an indispensable part, by defining call delegation, object creation and operation overriding. We introduce a new XML–based language, the Design Pattern Markup Language (DPML), which provides an easy way for the users to modify pattern descriptions to suit their needs, or even to define their own patterns or just classes in certain relations they wish to find. We tested our method on four open-source systems, and found it effective in discovering design pattern instances.
منابع مشابه
Design Patterns Mining using Subgraph Isomorphism: Relational View
Design Pattern Detection is a part of many solutions to Software Engineering difficulties. The usage of design patterns leads to benefits for new and young developers by enabling them to reuse the knowledge of their experienced colleagues. Mining of design pattern instances is important for program understanding and software maintenance. Hence a reliable design pattern mining is required. Here ...
متن کاملA fuzzy matching approach for design pattern mining
Mining design patterns from source code is significant for improving the intelligibility and maintainability of software. In this paper, we present a new design pattern matching method based on fuzzy, in which matrix model is used for describing both design pattern and source code, and design pattern’s static and dynamic information is defined as fuzzy attribute value for measuring the matching...
متن کاملA Review of Design Pattern Mining Techniques
The quality of a software system highly depends on its architectural design. High quality software systems typically apply expert design experience which has been captured as design patterns. As demonstrated solutions to recurring problems, design patterns help to reuse expert experience in software system design. They have been extensively applied in industry. Mining the instances of design pa...
متن کاملComparison and evaluation of source code
Program source code substantially is structured and contains semantically rich programming constructs such as 6 variables, functions, data structures, and program structures which indicate patterns. Mining source code by using different data 7 mining techniques to extract the valuable hidden patterns is the new revolution in software engineering. Over last decade many 8 tools and techniques hav...
متن کاملMining Continuous Code Changes to Detect Frequent Program Transformations
Identifying repetitive code changes benefits developers, tool builders, and researchers. Tool builders can automate the popular code changes, thus improving the productivity of developers. Researchers would better understand the practice of code evolution, advancing existing code assistance tools even further. Developers would particularly benefit if such tools can learn and support repetitive ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003